package and.roid.mushi;

import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.drawable.BitmapDrawable;
import android.graphics.drawable.Drawable;

public class BoxOb {
	private float obj_x, obj_y;// オブジェクト座標
	private int obj_wh;// オブジェクト大きさ
	private int obj_xspeed;// 移動量
	private int obj_yspeed;// 移動量
	private Drawable[] image2;
	private int anime;// アニメーション用
	private int deadcount;// 虫死亡用カウント
	private boolean dead;// 虫死亡フラグ
	private int count;// 虫出発用カウンタ

	// コンストラクタ
	BoxOb(int cou, int x, int y, int wh, double d, int vxy, int xspeed,
			int yspeed, Bitmap[] img) {
		count = cou;
		dead = false;
		anime = 0;
		obj_x = x;
		obj_y = y;
		obj_xspeed = xspeed;
		obj_yspeed = yspeed;
		deadcount = 0;
		obj_wh = wh;
		image2 = new Drawable[4];
		for (int i = 0; i < image2.length; i++) {
			image2[i] = new BitmapDrawable(img[i]);
		}
	}

	// 表示
	public void draw(Canvas c, Paint p) {
		image2[anime].setBounds((int) obj_x, (int) obj_y, (int) obj_x + obj_wh,
				(int) obj_y + obj_wh);
		image2[anime].draw(c);
	}

	// 移動
	public void move() {
		if (count <= 0) {
			obj_x += obj_xspeed;
			obj_y += obj_yspeed;
			if (dead == true)
				++deadcount;
		}
		--count;
	}

	// 虫生き残り用ゲームオーバー用
	public boolean getEnd() {
		return obj_y + obj_wh < 0;
	}

	// 虫死亡用
	public boolean getDeadtrue() {
		return dead;
	}

	// 虫死亡用
	public int getDead() {
		return deadcount;
	}

	// 虫アニメーション用
	public void setAnime() {
		if (dead == false) {
			anime = (++anime) % 3;
		} else {
			anime = 3;
		}
	}

	// 虫座標と渡された座標の比較
	public boolean isSmash(int x1, int y1) {
		return (x1 > obj_x && x1 < obj_x + obj_wh && y1 > obj_y && y1 < obj_y
				+ obj_wh);
	}

	// 虫死亡時の処理用
	public void setDeadSpeed() {
		obj_xspeed = 0;
		obj_yspeed = 0;
		dead = true;
	}

}